TreeGridLoaded ({ /* JSONP header, to be possible to load from xxx_Jsonp data source */ 
   "Cfg" : { "id": "GanttSimple", "MainCol": "T"   },  // Displays tree in column T (Task / Subtask) 
   "Cfg_2" : { "FullId": "1", "NumberId": "1", "IdChars": "0123456789"   },  // Controls generation of new row ids 
   "Cfg_3" : { "MaxHeight": "1"   },  // Resizes the grid to the whole page 
   "Cfg_4" : { "LimitScroll": "23", "MinBodyRows": "6"   },   // Responsive design, for small windows sets NoVScroll and NoHScroll 
   "Cfg_5" : { "ScrollLeftLap": "0"   },  // Saves horizontal scroll in Gantt to cookies 
   "Cfg_6" : { "MinLeftWidth": "200", "MinMidWidth": "530"   },  // Reserves width for the Gantt chart 
   "Cfg_7" : { "PrintPagePrefix": "<center class='%9' style='width:%7px'>Simple Gantt example printed page %3 from %6</center>"   },  // Sample page header for printing 
   "Cfg_8" : { "PrintPagePostfix": "<center class='%9' style='margin-top:%0px;width:%7px'>Page %1 horizontally from %4 , page %2 vertically from %5</center>"   },   // Sample page footer for printing 
   "Cfg_9" : { "DefaultDate": "5/1/2008"   },  // Default date in calendar for empty date 
   "Cfg_10" : { "CopyPasteTree": "4"   },  // Copies and pastes the row tree structure 
   "Cfg_11" : { "InitDef": "1"   },  // Uses DefParent / DefEmpty also on start 
   "Cfg_12" : { "ImportRows": "3"   },  // Permits importing rows data from exported xlsx, accepts only xlsx exported by this sample 
   "Cfg_13" : { "ExportType": "Outline,ForceBorder,HideFiltered,HideGroupCols,Hidden,Hide,FixedRows,FixedCols,TreeGrid,ColNames,RangeComment"   },  // Settings for xlsx export, support also for importing xlsx back 
   "Actions" : { "OnCtrlC": "Copy,ClearSelection,0", "OnCtrlX": "Exclude,ClearSelection,0"   },  // Clears selection of rows when they are copied to clipboard, to not paste to them 
   "Head" : [ 
      { "Kind":"Filter", "idVisible": "0", "DDefaults": "|*RowsAll", "TTip": "Filters only subtasks"   }      // Adds filter row 
   ], 
   "Def" : [ 
      { "Name": "R", "DefParent": "Task"   },  // When the standard leaf row gets it first child, changes it to Task row 

      { "Name": "Task", "DefEmpty": "R"   },  // When the parent summary row looses its last child, changes it to R row 
      { "Name": "Task", "Expanded": "1", "Calculated": "1", "CalcOrder": "S,E,C,G"   },  // Group of task calculates summary of the tasks 
      { "Name": "Task", "SFormula": "minimum(min('S'),min('E'))"   },  // Gets the first start date from its children 
      { "Name": "Task", "EFormula": "maximum(max('S'),max('E'))"   },  // Gets the last end date from its children 
      { "Name": "Task", "CFormula": "ganttpercent('S','E','d')"   },  // Calculates average task completion from its children 
      { "Name": "Task", "DButton": ""   },  // Cannot change dependency of group task 
      { "Name": "Task", "CanFilter": "2"   },  // Does not filter the groups, hides them only if no child is visible 
      { "Name": "Task", "GGanttClass": "Group", "GGanttIcons": "1", "GGanttEdit": "0", "GGanttHover": "0"   }   // Gantt setting specific for Group rows, changes colors and restrict changes by a user 
   ], 
   "DefCols" : [ 
      { "Name": "C", "CaseSensitive": "0"   }   // Ignores case when it sorts, groups and filters 
   ], 
   "Panel" : { "Copy": "7"   },  // Shows Add/Copy icon on left side panel 
   "LeftCols" : [ 
      { "Name": "id", "Width": "60", "Type": "Text", "CanEdit": "0"   },  // Row id, informational column 
      { "Name": "T", "Width": "170", "Type": "Text"   },  // Column Task / Section
      { "Name": "S", "Width": "80", "Type": "Date", "Format": "[y!=2008]yyyy, MMM dd;MMM dd"   },  // Column Start date
      { "Name": "E", "Width": "80", "Type": "Date", "Format": "[y!=2008]yyyy, MMM dd;MMM dd"   },  // Column End Date 
      { "Name": "C", "Width": "90", "Type": "Float", "Format": "##.##\\%;;0\\%"   },  // Column Complete 
      { "Name": "D", "Width": "80", "Type": "Text", "Button": "Defaults", "Defaults": "|*RowsColid*VariableDef", "Range": "1"   },  // Column dependencies (Next) 
      { "Name": "X", "Visible": "0", "Type": "Int"   }   // Hidden column to store disabled / locked state to save or export it 
    ], 
   "Cols" : [ 
      // Gantt chart column 
      { "Name": "G", "Type": "Gantt"   }, 
      { "Name": "G", "GanttStart": "S", "GanttEnd": "E", "GanttComplete": "C", "GanttDescendants": "D", "GanttDisabled": "X"   },  // Defines the source columns for the Gantt chart 
      { "Name": "G", "GanttUnits": "d", "GanttWidth": "22", "GanttChartRound": "w", "GanttRight": "1"   },  // Defines the Gantt zoom 
      { "Name": "G", "GanttLastUnit": "d"   },  // The end date is the last day 
      { "Name": "G", "GanttHeader1": "w#dddddd MMMM yyyy", "GanttHeader2": "d#ddddd"   },  // Defines Gantt header for the zoom 
      { "Name": "G", "GanttBackground": "w#1/6/2008~1/6/2008 0:01"   },  // Visually separates the weeks by vertical line 
      { "Name": "G", "GanttEdit": "Main,Dependency"   },  // Only the tasks can dependencies can be modified 
      { "Name": "G", "GanttSlack": "1"   },  // Calculates critical path 
      { "Name": "G", "GanttCorrectDependenciesFixed": "1"   }   // Never moves the changed task, rather moves all others 
   ], 
   "Header" : { "id": "ID", "T": "Task", "S": "Start", "E": "End", "C": "Complete", "G": "Gantt", "D": "Next"   },  // Column captions 
   
   
   // Use the next setting to fix the Gantt structure to two levels - Task / Data 
   /*
   <Cfg InitDef="0"/>
   <Root CDef="Task" AcceptDef="Task"/>
   <Def>
      <D Name="Task" CDef="R" AcceptDef="R"/>
      <D Name="R" CDef="" AcceptDef=""/>
   </Def>
   */

   "Solid" : [ 
      { "Kind":"Topbar", "id": "Project", "Space": "0", "Panel": "0", "Cells": "Base,Finish,Sep,Dep", 
            
            "BaseType": "Date", "BaseCanEdit": "1", "BaseWidth": "100", "BaseUndo": "1", "BaseLeft": "5", 
            "BaseLabel": "Start date", 
            "BaseFormat": "ddd M/d/yyyy", 
            "BaseEditFormat": "M/d/yyyy", 
            "BaseFormula": "Grid.GetGanttBase()", 
            "BaseOnChange": "Grid.SetGanttBase(Value,2);", 
            "BaseHtmlPrefixFormula": "Grid.Cols.G.GanttBase===\"\"?\"<span style='color:gray;'>\":\"<span>\"", 
            "BaseHtmlPostfix": "</span>", 
            "BaseTip": "Starting date of the whole project.<br>No task should start before it.<br>It is also used when correcting dependencies.", 
              
            "FinishType": "Date", "FinishCanEdit": "1", "FinishWidth": "100", "FinishUndo": "1", "FinishLeft": "5", 
            "FinishLabel": "Finish date", 
            "FinishFormat": "ddd M/d/yyyy", 
            "FinishEditFormat": "M/d/yyyy", 
            "FinishFormula": "Grid.GetGanttFinish()-24*60*60*1000", 
            "FinishOnChange": "Grid.SetGanttFinish(Value+24*60*60*1000);", 
            "FinishHtmlPrefixFormula": "Grid.Cols.G.GanttFinish===\"\"?\"<span style='color:gray;'>\":\"<span>\"", 
            "FinishHtmlPostfix": "</span>", 
            "FinishTip": "Finish date of the whole project.<br>If grayed, it is calculated from the last task.<br>It is used to calculate critical path.", 

            "SepType": "Html", "SepRelWidth": "1", "SepCanFocus": "0", 
            "DepFormula": "ganttdependencyerrors(null,1)", "DepOnClick": "CorrectAllDependencies", "DepTip": "Click to correct the dependencies"  
             }  
   ], 
}) /* End of JSONP header */ 